package adicionales;

import java.util.ArrayList;

public class ContadorPorObjeto {

	private Object object;
	private ArrayList<Tupla> tuplas = new ArrayList<Tupla>();
	
	public Object getObject() {
		return object;
	}
	public void setObject(Object object) {
		this.object = object;
	}
	
	public ArrayList<Tupla> getTuplas() {
		return tuplas;
	}
	public void setTuplas(ArrayList<Tupla> tuplas) {
		this.tuplas = tuplas;
	}
	
	public boolean contieneTuplaConMetodo(String source){
		
		boolean contiene = false;
		
		for(Tupla each: this.getTuplas()){
			
			if(each.getSourceMetodo().equals(source)){
				contiene = true;
				break;
			}
		}
		return contiene;
	}
	
	public void agregarMetodo(String source){
		
		if(this.contieneTuplaConMetodo(source)){
			for(Tupla each : this.getTuplas()){
				if(each.getSourceMetodo().equals(source));
				each.actualizarCantidadLlamadas(source);
			}
		} else {
			Tupla t = new Tupla(source,1);
			this.getTuplas().add(t);
			
		}
	}
	
	public int cantLlamadas(String source){
		
		int n = 0;
		
		for(Tupla each : this.getTuplas()){
			if(source.equals(each.getSourceMetodo())){
				n = each.getCantidadDeLlamadas();
			}
		}
		
		return n;
	}
	
	public ContadorPorObjeto(Object o){
		this.setObject(o);
	}
	public ContadorPorObjeto() {
		// TODO Auto-generated constructor stub
	}
	
	
}
